using System;
using System.Xml.Serialization;

namespace com.exceptionalsoftware.spacetime.KML
{
	[Serializable()]
    [XmlType(TypeName = "StyleType")]
	public class Style : StyleSelector
	{
        private IconStyle iconStyleField;
        private LabelStyle labelStyleField;
        private LineStyle lineStyleField;
        private PolyStyle polyStyleField;
        private BalloonStyle ballonStyleField;
        private ListStyle listStyleField;

        [XmlElement(ElementName = "IconStyle", Type = typeof(IconStyle))]
        public IconStyle IconStyle
        {
            get { return this.iconStyleField; }
            set { this.iconStyleField = value; }
        }

        [XmlElement(ElementName = "LabelStyle", Type = typeof(LabelStyle))]
        public LabelStyle LabelStyle
        {
            get { return this.labelStyleField; }
            set { this.labelStyleField = value; }
        }

        [XmlElement(ElementName = "LineStyle", Type = typeof(LineStyle))]
        public LineStyle LineStyle
        {
            get { return this.lineStyleField; }
            set { this.lineStyleField = value; }
        }

        [XmlElement(ElementName = "PolyStyle", Type = typeof(PolyStyle))]
        public PolyStyle PolyStyle
        {
            get { return this.polyStyleField; }
            set { this.polyStyleField = value; }
        }

        [XmlElement(ElementName = "BalloonStyle", Type = typeof(BalloonStyle))]
        public BalloonStyle BalloonStyle
        {
            get { return this.ballonStyleField; }
            set { this.ballonStyleField = value; }
        }

        [XmlElement(ElementName = "ListStyle", Type = typeof(ListStyle))]
        public ListStyle ListStyle
        {
            get { return this.listStyleField; }
            set { this.listStyleField = value; }
        }
    }
}